package miracle.joker.design.flyweight;

import java.awt.*;

/*
*假设我们正在编写一个文字处理程序，它需要处理大量的字母，包括字母的大小、颜色和位置等属性。
* 我们希望通过使用享元模式来减少内存的使用，提高程序的性能。
  我们首先定义一个Letter对象，它代表了程序中所有的字母，包括字母的大小、颜色和位置等属性。
* 每个Letter对象都需要存储这些属性，因此它们会占用大量的内存空间。
* */
public class Letter {
    private char character;
    private int size;
    private Color color;
    private int x;
    private int y;

    public Letter(char character, int size, Color color, int x, int y) {
        this.character = character;
        this.size = size;
        this.color = color;
        this.x = x;
        this.y = y;
    }

    public void draw(Graphics graphics) {
        graphics.setColor(color);
        graphics.setFont(new Font("Arial", Font.BOLD, size));
        graphics.drawString(String.valueOf(character), x, y);
    }
}
